const express=require('express');

//引入md5
var md5 = require('md5');

//创建一个路由
const route = express.Router();

//引入正则检验中间件
const addAdminReg=require('../middleware/addAdminReg')


//引入权限校验中间件
const isLoginMiddle = require("../middleware/isLoginMiddle")


//引入数据集合对象
const adminModel=require('../db/model/adminModel')

//添加管理员接口(添加正则检验中间件)
//中间可以有很多回调函数都是中间件
route.post('/addAdmin',isLoginMiddle,addAdminReg, async (req,res)=>{
    const {
        adminName,
        password,
        regTime
      } = req.body;
    //   console.log(adminName, password, regTime);
    
    try {
        //拿着用户名去数据库的adminModel集合中查询是否存在,findOne如果查询不到返回null
    const findResult= await adminModel.findOne({adminName})
    // console.log(findResult);

    //如果查询到了,则直接响应该用户已经注册
    if (findResult) {
        return res.send({
            code:10001,
            msg:'添加管理员-用户已经被注册',
            data:null
        })
    }

    //如果没有查询到,则向数据库添加该数据
    await adminModel.create({
        adminName,
        //密码在保存的时候加密(并加盐)
        password:md5(password+'123'),
        regTime
    })
    res.send({
        code:10000,
        msg:'添加管理员-添加成功',
        data:null
    })
    } catch (e) {
        console.log('添加管理员中出现异常',e.mesage);
        res.send({
            code:10002,
            msg:'添加管理员-服务端异常',
            data:null
        })
    }


})


module.exports=route;